﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Script.Serialization;
using WeiXinSDK.DataModel.Enum;

namespace WeiXinSDK.DataModel
{
    public class Multimeida : ResultMsg
    {

        private MultimeidaType _ButtonType = MultimeidaType.News;

        /// <summary>
        /// 媒体文件类型，分别有图片（image）、语音（voice）、视频（video）和缩略图（thumb，主要用于视频与音乐格式的缩略图）， 为news，即图文消息 
        /// 无需提交到微信
        /// </summary>
        [ScriptIgnore]
        public MultimeidaType MultimeidaType
        {
            get { return _ButtonType; }
            set
            {
                _ButtonType = value;
                type = this.MultimeidaType.ToString().ToLower();
            }
        }

        /// <summary>
        /// 媒体文件类型，value由ButtonType枚举得到，只为序列化提交到微信
        /// </summary>
        public string type { get; set; }

        /// <summary>
        /// 媒体文件/图文消息上传后获取的唯一标识 
        /// </summary>
        public string media_id { get; set; }

        /// <summary>
        /// 媒体文件上传时间戳 
        /// </summary>
        public string created_at { get; set; }

        /// <summary>
        /// 格式化输出，便于输出调试信息
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            foreach (var item in this.GetType().GetProperties())
            {
                if (item.Name.Equals("Item"))
                {
                    continue;
                }
                sb.AppendFormat("{0}={1},", item.Name, item.GetValue(this, null));
            }
            return sb.ToString().TrimEnd(',');
        }
    }
}
